package la.foton.homebroker.apresentacao;

import la.foton.homebroker.negocio.entidade.Cotacao;
import la.foton.homebroker.negocio.entidade.Ordem;
import la.foton.homebroker.negocio.service.OrdemService;
import la.foton.homebroker.negocio.validador.SenhaInvalidaException;
import la.foton.homebroker.negocio.validador.ViolacaoNegocioException;

public class OrdemMBean
{
	private ContextoSecao secao;

	private OrdemService ordemService;
	private Ordem ordem;
	private Cotacao cotacao;

	public void consultaCotacao(String codigoAcao)
	{
		try
		{
			cotacao = ordemService.consultaCotacao(codigoAcao);
		}
		catch (ViolacaoNegocioException e)
		{
			// TODO: tratar exceção de negócio
			e.printStackTrace();
		}
	}

	public void preparaResgistroOrdem(Ordem ordem)
	{
		try
		{
			ordemService.autorizaRegistroOrdem(ordem, secao.getInvestidor());
		}
		catch (ViolacaoNegocioException e)
		{
			// TODO: tratar exceção de negócio
			e.printStackTrace();
		}
	}

	public void confirmaRegistroOrdem(Ordem ordem, String senha)
	{
		try
		{
			ordemService.confirmaRegistroOrdem(ordem, secao.getInvestidor(), senha);
		}
		catch (SenhaInvalidaException e)
		{
			secao.registraErroSenha();
		}
		catch (ViolacaoNegocioException e)
		{
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}
}
